#ifndef STANDARDTYPES_H
#define STANDARDTYPES_H

#include "PlatformTypes.h"

#ifndef STATUS_TYPE_DEFINED 
#define STATUS_TYPE_DEFINED 
    #define E_OK            0x0u 
    typedef unsigned char StatusType; /* OSEK compliance */ 
#endif 
    #define E_NOT_OK        0x1u

#define STD_HIGH            0x1u /* Physical state 5V or 3.3V */ 
#define STD_LOW             0x0u /* Physical state 0V */

#define STD_ACTIVE          0x1u /* Logical state active */ 
#define STD_IDLE            0x0u /* Logical state idle */

#define STD_ON              0x1u 
#define STD_OFF             0x0u

#ifndef ARRAY_SIZE
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
#endif

typedef uint8 Std_ReturnType;

typedef struct {
    uint16    vendorId;           
    uint16    moduleId;
    uint8     sw_major_version;
    uint8     sw_minor_version;
    uint8     sw_patch_version;
}Std_VersionInfoType;

#endif
